﻿using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Domain.Interface;
using Domain.Model;
using Domain.Model.Domain_MoBan_Model;
using Domain.RealiZation.B;
using Ds.DataBase;
using Ds.DataBase.Enum;
using Ds.DataBase.Model;
using Newtonsoft.Json;

namespace Domain.RealiZation
{
    public class KeShitmpl : IKeShi
    {
        public void DelKeShiById(int id)
        {
            using (UserInfoClassContext db = new UserInfoClassContext())
            {
                var keshi = new KeShi { ksid = id };
                var data = db.KeShiContext.Single(s => s.ksid == id);
                foreach (var item in data.keshizhiwus.ToList())
                {
                    foreach (var item2 in item.JiaoZhiGongInfos.ToList())
                    {
                        item.JiaoZhiGongInfos.Remove(item2);
                    }

                    foreach (var item2 in item.MoBan_Main.ToList())
                    {
                        item.MoBan_Main.Remove(item2);
                    }

                    foreach (var item2 in item.PowerTrees.ToList())
                    {

                        item.PowerTrees.Remove(item2);
                    }
                    data.keshizhiwus.Remove(item);
                }
                
                db.Entry(data).State = EntityState.Deleted;
                db.SaveChanges();
            }
        }



        public IQueryable paging<T>(int pageSize, int pageIndex, out int total,
            Func<KeShi, bool> whereFunc, Func<KeShi, T> orderByFunc, bool isAsc)
        {
            using (UserInfoClassContext db = new UserInfoClassContext())
            {
                var result =
                total = db.KeShiContext.Where(whereFunc).Count();
                if (isAsc)
                {
                    return
                        db.KeShiContext.Where(whereFunc)
                            .OrderBy<KeShi, T>(orderByFunc)
                            .Skip(pageSize * (pageIndex - 1))
                            .Take(pageIndex)
                            .AsQueryable();
                }
                else
                {
                    return
                        db.KeShiContext.Where(whereFunc)
                            .OrderByDescending<KeShi, T>(orderByFunc)
                            .Skip(pageSize * (pageIndex - 1))
                            .Take(pageIndex)
                            .AsQueryable();
                }
            }
        }

        public string GetAllKeShiList(int pageIndex, int pageSize, int pageTotal)
        {
            using (UserInfoClassContext db = new UserInfoClassContext())
            {
                var lst = db.KeShiContext.ToList();
                var zwlst = db.ZhiWeiContext.ToList();
                var domainkslist = new List<Domain_KeShi>();
                foreach (var item in lst)
                {
                    var model = new Domain_KeShi();
                    model.ksmc = item.ksmc;
                    model.ksid = item.ksid;
                    model.ZhiWus = new List<Domain_ZhiWu>();
                    foreach (var item2 in item.keshizhiwus.Select(s => s.zhiwu))
                    {
                        if (item2 != null)
                        {
                            Domain_ZhiWu model2 = new Domain_ZhiWu();
                            model2.zwmc = item2.zwmc;
                            model2.zwid = item2.zwid;
                            model2.PowerTrees = item.keshizhiwus.FirstOrDefault(s => s.zhiwu.zwid == item2.zwid)
                                .PowerTrees.Select(s => s.mc).ToList();
                            //model2.SonZhiWeis = new List<Domain_SonZhiWu>();
                            //foreach (var item3 in item2.SonZhiWeis)
                            //{
                            //    Domain_SonZhiWu model3 = new Domain_SonZhiWu();
                            //    model3.zwmc = item3.zwmc;
                            //    model3.zwid = item3.zwid;
                            //    model2.SonZhiWeis.Add(model3);
                            //}
                            model.ZhiWus.Add(model2);
                        }

                    }
                    domainkslist.Add(model);
                }
                return JsonConvert.SerializeObject(domainkslist);
            }
            //return string.Empty;
        }

        public string GetKeShiInfo(int ksid)
        {
            throw new NotImplementedException();
        }

        public string GetKeShiNeiZhiWu(int ksid)
        {
            using (UserInfoClassContext db = new UserInfoClassContext())
            {
                //var ks = db.KeShiContext.SingleOrDefault(s => s.ksid == ksid);
                var zw2 = db.ZhiWeiContext.ToList();
                var datamodel = db.KeShiContext.SingleOrDefault(s => s.ksid == ksid);
                //db.SaveChanges();
                //var aaa = db.KeShiZhiWuContext.Where(s => s.KeShi.ksid == ksid).ToList();
                List<Domain_ZhiWu> domainzwlist = new List<Domain_ZhiWu>();
                var zw = datamodel.keshizhiwus;
                foreach (var item in zw.Where(s => s.zhiwu != null))
                {
                    Domain_ZhiWu model = new Domain_ZhiWu();
                    model.keshi = new Domain_KeShi() { ksid = datamodel.ksid, ksmc = datamodel.ksmc };
                    //model.SonZhiWeis = new List<Domain_SonZhiWu>();
                    model.zwid = item.zhiwu.zwid;
                    model.zwmc = item.zhiwu.zwmc;
                    model.PowerTrees = item.PowerTrees.Select(s => s.mc).ToList();
                    if (item.zhiwu.PZhiWei != null)
                    {
                        model.PZhiWei = new Domain_ZhiWu();
                        model.PZhiWei.zwid = item.zhiwu.PZhiWei.zwid;
                        model.PZhiWei.zwmc = item.zhiwu.PZhiWei.zwmc;
                    }
                    domainzwlist.Add(model);
                }
                return JsonConvert.SerializeObject(domainzwlist);
            }
        }

        public string GetKeShiZhiWuOneLevel(int ksid)
        {
            //using (UserInfoClassContext db = new UserInfoClassContext())
            //{
            //    var datamodel = db.KeShiContext.SingleOrDefault(s => s.ksid == ksid);
            //    //var tmp = db.KeShiContext.Include("ZhiWeis").Where(s => s.ksid == ksid).SelectMany(s => s.ZhiWeis);
            //    List<Domain_ZhiWu> domainzwlist = new List<Domain_ZhiWu>();
            //    foreach (var item in datamodel.ZhiWeis)//.Where(s=>s.zwpath=="/"))
            //    {
            //        Domain_ZhiWu model = new Domain_ZhiWu();
            //        model.keshi = new Domain_KeShi() { ksid = item.keshi.ksid, ksmc = item.keshi.ksmc };
            //        model.SonZhiWeis = new List<Domain_SonZhiWu>();
            //        model.zwid = item.zwid;
            //        model.zwmc = item.zwmc;
            //        if (item.MoBans != null && item.MoBans.Count > 0)
            //        {
            //            model.gzjhid = item.MoBans.SingleOrDefault(s => s.mbtype == 模板类型.工作计划).mbid;
            //            model.jxkhid = item.MoBans.SingleOrDefault(s => s.mbtype == 模板类型.绩效考核).mbid;
            //        }
            //        domainzwlist.Add(model);
            //        //if (item.SonZhiWeis != null)
            //        //{
            //        //    foreach (var item2 in item.SonZhiWeis)
            //        //    {
            //        //        model = new Domain_ZhiWu();
            //        //        model.keshi = new Domain_KeShi() { ksid = item2.keshi.ksid, ksmc = item2.keshi.ksmc };
            //        //        model.zwid = item2.zwid;
            //        //        model.zwmc = item2.zwmc;
            //        //        if (item2.MoBans != null && item2.MoBans.Count > 0)
            //        //        {
            //        //            model.gzjhid = item2.MoBans.SingleOrDefault(s => s.mbtype == MoBan.模板类型.工作计划).mbid;
            //        //            model.jxkhid = item2.MoBans.SingleOrDefault(s => s.mbtype == MoBan.模板类型.绩效考核).mbid;
            //        //        }
            //        //        domainzwlist.Add(model);
            //        //    }
            //        //}


            //    }
            //    return JsonConvert.SerializeObject(domainzwlist);
            //}
            return string.Empty;
        }

        public string GetKeShiRenShu(int ksid)
        {
            throw new NotImplementedException();
        }

        public void SaveKeShi(string ksmc)
        {
            using (UserInfoClassContext db = new UserInfoClassContext())
            {
                db.KeShiContext.Add(new KeShi() { ksmc = ksmc });
                db.SaveChanges();
            }
        }

        public void SaveKeShi(int ksid, string ksmc)
        {
            if (ksid < 1)
            {
                SaveKeShi(ksmc);
            }
            else
            {
                using (UserInfoClassContext db = new UserInfoClassContext())
                {
                    var model = db.KeShiContext.SingleOrDefault(s => s.ksid == ksid);
                    if (model != null)
                    {
                        model.ksmc = ksmc;
                        db.SaveChanges();
                    }
                    else
                    {
                        throw new Exception("科室未找到");
                    }
                }
            }
        }

        public void SaveZhiWu(int ksid, string zwmc, int? pid, int gzjhid, int jxkhid)
        {
            //using (UserInfoClassContext db = new UserInfoClassContext())
            //{
            //    ZhiWei zhiwei = new ZhiWei();

            //    var zwpath = "/"; ;
            //    if (pid != null && pid > 0)
            //    {
            //        if (zhiwei.PZhiWei == null)
            //        {
            //            zhiwei.PZhiWei = new ZhiWei();
            //            zhiwei.PZhiWei.SonZhiWeis = new List<ZhiWei>();
            //        }
            //        zwpath = "/" + pid;
            //        zhiwei.PZhiWei = db.ZhiWeiContext.SingleOrDefault(s => s.zwid == pid);
            //        zhiwei.PZhiWei.SonZhiWeis.Add(zhiwei);
            //    }
            //    zhiwei.zwmc = zwmc;
            //    zhiwei.keshi = db.KeShiContext.SingleOrDefault(s => s.ksid == ksid);
            //    zhiwei.zwpath = zwpath;
            //    if (zhiwei.MoBans == null)
            //    {
            //        zhiwei.MoBans = new List<MoBan>();
            //    }
            //    if (gzjhid > 0)
            //    {
            //        var gzjh = db.GongZuoJiHuaContext.SingleOrDefault(s => s.mbid == gzjhid);
            //        zhiwei.MoBans.Add(gzjh);

            //    }
            //    if (jxkhid > 0)
            //    {
            //        var jxkh = db.JiXiaoContext.SingleOrDefault(s => s.mbid == jxkhid);
            //        zhiwei.MoBans.Add(jxkh);
            //    }
            //    db.ZhiWeiContext.Add(zhiwei);
            //    db.SaveChanges();
            //}
        }

        public void SaveZhiWu(int ksid, int zwid, string zwmc, int? pid, int gzjhid, int jxkhid)
        {
            //if (zwid == 0)
            //{
            //    SaveZhiWu(ksid, zwmc, pid, gzjhid, jxkhid);
            //}
            //else
            //{
            //    using (UserInfoClassContext db = new UserInfoClassContext())
            //    {
            //        var model = db.ZhiWeiContext.SingleOrDefault(s => s.zwid == zwid);
            //        if (model != null)
            //        {
            //            var zwpath = "/"; ;
            //            if (pid != null && pid > 0)
            //            {
            //                if (model.PZhiWei == null)
            //                {
            //                    model.PZhiWei = new ZhiWei();
            //                    model.PZhiWei.SonZhiWeis = new List<ZhiWei>();
            //                }
            //                zwpath = "/" + pid;
            //                model.PZhiWei = db.ZhiWeiContext.SingleOrDefault(s => s.zwid == pid);
            //                model.PZhiWei.SonZhiWeis.Add(model);
            //            }
            //            model.zwmc = zwmc;
            //            model.keshi = db.KeShiContext.SingleOrDefault(s => s.ksid == ksid);
            //            model.zwpath = zwpath;
            //            foreach (var item in model.MoBans.ToList())
            //            {
            //                model.MoBans.Remove(item);
            //            }
            //            if (gzjhid > 0)
            //            {
            //                var gzjh = db.GongZuoJiHuaContext.SingleOrDefault(s => s.mbid == gzjhid);
            //                model.MoBans.Add(gzjh);

            //            }
            //            else
            //            {
            //                var gz = model.MoBans.FirstOrDefault(s => s.mbtype == 模板类型.工作计划);
            //                model.MoBans.Remove(gz);
            //            }
            //            if (jxkhid > 0)
            //            {
            //                var jxkh = db.JiXiaoContext.SingleOrDefault(s => s.mbid == jxkhid);
            //                model.MoBans.Add(jxkh);
            //            }
            //            else
            //            {
            //                var jx = model.MoBans.FirstOrDefault(s => s.mbtype == 模板类型.绩效考核);
            //                model.MoBans.Remove(jx);
            //            }
            //            db.SaveChanges();
            //        }
            //        else
            //        {
            //            throw new Exception("职位未找到");
            //        }
            //    }
            //}
        }



        public string GetQuanXians()
        {
            using (UserInfoClassContext db = new UserInfoClassContext())
            {
                var datalst = db.PowerTreesContext.Where(s => s.ptpath == "/");
                List<Domain_PowerTree> lst = new List<Domain_PowerTree>();
                foreach (var item in datalst.ToList())
                {
                    Domain_PowerTree model = new Domain_PowerTree();
                    model.mc = item.mc;

                    model.son = new List<Domain_Son_PowerTree>();
                    foreach (var item2 in item.SonPowerTrees)
                    {
                        Domain_Son_PowerTree sonmodel = new Domain_Son_PowerTree();
                        sonmodel.mc = item2.mc;
                        model.son.Add(sonmodel);
                    }
                    lst.Add(model);
                }
                return JsonConvert.SerializeObject(lst);
            }
        }

        public void SaveQuanXian(int ksid, int zwid, string ptmc)
        {
            using (UserInfoClassContext db = new UserInfoClassContext())
            {
                var data = db.KeShiContext.SingleOrDefault(s => s.ksid == ksid);

                foreach (var dataPowerTree in data.keshizhiwus.SingleOrDefault(s => s.zhiwu.zwid == zwid).PowerTrees.ToList())
                {
                    data.keshizhiwus.SingleOrDefault(s => s.zhiwu.zwid == zwid).PowerTrees.Remove(dataPowerTree);
                }
                if (data != null)
                {
                    var list = ptmc.Split('|');   //以"|"进行断开
                    foreach (var item in list)
                    {
                        //var id = int.Parse(item);
                        var pt = db.PowerTreesContext.FirstOrDefault(s => s.mc == item);
                        string result = pt.ptpath.Replace("/", "");
                        result = result.Replace("/", "");
                        if (string.IsNullOrWhiteSpace(result))
                        {
                            result = "0";
                        }
                        var ptid = int.Parse(result);
                        var ppt = db.PowerTreesContext.FirstOrDefault(s => s.ptid == ptid);
                        if (ppt != null)
                        {
                            if (!data.keshizhiwus.SingleOrDefault(s => s.zhiwu.zwid == zwid).PowerTrees.Any(s => s.mc == ppt.mc))
                            {
                                data.keshizhiwus.SingleOrDefault(s => s.zhiwu.zwid == zwid).PowerTrees.Add(ppt);
                            }
                        }

                        data.keshizhiwus.SingleOrDefault(s => s.zhiwu.zwid == zwid).PowerTrees.Add(pt);
                    }
                    db.SaveChanges();
                }
            }
        }

        public string GetKeShiZhiWusOption(int ksid)
        {
            using (UserInfoClassContext db = new UserInfoClassContext())
            {
                var datamodel = db.KeShiContext.SingleOrDefault(s => s.ksid == ksid);
                var zw = db.ZhiWeiContext.ToList();
                //var tmp = db.KeShiContext.Include("ZhiWeis").Where(s => s.ksid == ksid).SelectMany(s => s.ZhiWeis);
                List<Domain_ZhiWu> domainzwlist = new List<Domain_ZhiWu>();
                foreach (var item in datamodel.keshizhiwus.Select(s => s.zhiwu))
                {
                    Domain_ZhiWu model = new Domain_ZhiWu();
                    model.keshi = new Domain_KeShi() { };
                    model.PZhiWei = new Domain_ZhiWu();
                    model.zwid = item.zwid;
                    model.zwmc = item.zwmc;
                    domainzwlist.Add(model);
                    //if (item.SonZhiWeis != null)
                    //{
                    //    foreach (var item2 in item.SonZhiWeis)
                    //    {
                    //        model = new Domain_ZhiWu();
                    //        model.keshi = new Domain_KeShi() { };
                    //        model.SonZhiWeis = new List<Domain_SonZhiWu>();
                    //        model.zwid = item2.zwid;
                    //        model.zwmc = item2.zwmc;
                    //        domainzwlist.Add(model);
                    //    }
                    //}

                }
                return JsonConvert.SerializeObject(domainzwlist);
            }
            return string.Empty;
        }

        public string SaveZhiWu(string zwmc, int pid)
        {
            using (var db = new UserInfoClassContext())
            {
                ZhiWei zw = new ZhiWei();
                zw.zwmc = zwmc;
                if (pid > 0)
                {
                    zw.PZhiWei = db.ZhiWeiContext.SingleOrDefault(s => s.zwid == pid);
                }
                else
                {
                    zw.PZhiWei = null;
                }
                db.ZhiWeiContext.Add(zw);
                db.SaveChanges();
                zw.zwpath = getpath(zw);
                db.SaveChanges();
                return JsonConvert.SerializeObject(zw);
            }
        }
        /// <summary>
        /// 查找职务路径的递归
        /// </summary>
        /// <param name="zw"></param>
        /// <returns></returns>
        private string getpath(ZhiWei zw)
        {
            if (zw.PZhiWei == null)
            {
                return zw.zwid + "/";
            }
            else
            {
                return zw.zwid + "/" + getpath(zw.PZhiWei);
            }
        }
        public string UpdateZhiWu(int zwid, string zwmc, int pid)
        {
            using (var db = new UserInfoClassContext())
            {
                ZhiWei zw = db.ZhiWeiContext.SingleOrDefault(s => s.zwid == zwid);
                zw.zwmc = zwmc;
                if (pid > 0)
                {
                    zw.PZhiWei = db.ZhiWeiContext.SingleOrDefault(s => s.zwid == pid);
                }
                else
                {
                    //db.ZhiWeiContext.Remove(zw.PZhiWei);
                    db.Entry(zw)
                        .Reference(c => c.PZhiWei)
                        .Load();
                    zw.PZhiWei = null;
                }

                //db.ZhiWeiContext.Add(zw);
                db.SaveChanges();
                zw.zwpath = getpath(zw);
                db.SaveChanges();
                return JsonConvert.SerializeObject(zw);
            }
        }
        public void DelZhiWuById(int id)
        {
            using (UserInfoClassContext db = new UserInfoClassContext())
            {
                var zhiwei = new ZhiWei() { zwid = id };
                db.Entry(zhiwei).State = EntityState.Deleted;
                db.SaveChanges();
            }
        }
        public string GetZhiWus()
        {
            using (var db = new UserInfoClassContext())
            {
                var data = db.ZhiWeiContext;
                List<Domain_ZhiWu> lst = new List<Domain_ZhiWu>();
                foreach (var item in data)
                {
                    Domain_ZhiWu model = new Domain_ZhiWu();
                    model.zwid = item.zwid;
                    model.zwmc = item.zwmc;
                    model.zwpath = item.zwpath;
                    if (item.PZhiWei != null && item.PZhiWei.zwid > 0)
                    {
                        model.PZhiWei = new Domain_ZhiWu() { zwid = item.PZhiWei.zwid, zwmc = item.PZhiWei.zwmc, zwpath = item.PZhiWei.zwpath };
                    }
                    lst.Add(model);
                }
                return JsonConvert.SerializeObject(lst);
            }
        }

        public void ZhiWuRelationKeShi(int ksid, int zwid)
        {
            using (var db = new UserInfoClassContext())
            {
                var ks = db.KeShiContext.SingleOrDefault(s => s.ksid == ksid);
                var zwall = db.ZhiWeiContext.ToList();
                var zw = zwall.SingleOrDefault(s => s.zwid == zwid);
                if (!ks.keshizhiwus.Any(s => s.zhiwu.zwid == zwid))
                {
                    KeShiZhiWu kszw = new KeShiZhiWu();
                    kszw.zhiwu = zw;
                    kszw.KeShi = ks;
                    db.KeShiZhiWuContext.Add(kszw);
                    db.SaveChanges();
                }

                //zw.keshizhiwus.Add();
                //ks.keshizhiwus.Add(new KeShiZhiWu() { zhiwu = zw });

            }
        }

        public string KeShiZhiWu(int ksid)
        {
            using (var db = new UserInfoClassContext())
            {
                var data = db.KeShiContext.SingleOrDefault(s => s.ksid == ksid);
                var lst = data.keshizhiwus.Select(s => s.zhiwu).ToList();
                return JsonConvert.SerializeObject(lst);
            }
        }


        public void KaoHeBiaoRelationZhiWu(int ksid, int zwid, int mbid)
        {
            using (var db = new UserInfoClassContext())
            {
                var kszw = db.KeShiZhiWuContext.SingleOrDefault(s => s.zhiwu.zwid == zwid && s.KeShi.ksid == ksid);
                var zw = db.ZhiWeiContext.ToList();
                var mblist = db.Moban_MainContext.ToList();
                if (!kszw.MoBan_Main.Any(s => s.mbid == mbid))
                {
                    var mb = mblist.SingleOrDefault(s => s.mbid == mbid);
                    kszw.MoBan_Main.Add(mb);
                    db.SaveChanges();
                }
                //var mb = db.Moban_MainContext.SingleOrDefault(s => s.mbid == mbid);
                //var zw = db.ZhiWeiContext.SingleOrDefault(s => s.zwid == zwid);
                //mb.ZhiWeis.Add(zw);
                //db.SaveChanges();
            }
        }

        public void DelKaoHeBiaoRelationZhiWu(int ksid, int zwid, int mbid)
        {
            using (var db = new UserInfoClassContext())
            {
                var kszw = db.KeShiZhiWuContext.SingleOrDefault(s => s.zhiwu.zwid == zwid && s.KeShi.ksid == ksid);
                var zw = db.ZhiWeiContext.ToList();
                var mblist = db.Moban_MainContext.ToList();
                var mb = kszw.MoBan_Main.SingleOrDefault(s => s.mbid == mbid);
                kszw.MoBan_Main.Remove(mb);
                db.SaveChanges();

            }
        }
        public void ZhiWuRelationPower(int ksid, int zwid, string str)
        {
            using (var db = new UserInfoClassContext())
            {
                var list = str.Split('|');   //以"|"进行断开
                var ks = db.KeShiContext.SingleOrDefault(s => s.ksid == ksid);
                var zw = db.ZhiWeiContext.ToList();
                var kezw = db.KeShiZhiWuContext.First(s => s.KeShi.ksid == ksid && s.zhiwu.zwid == zwid);
                List<PowerTree> towertrees = new List<PowerTree>();
                foreach (var item in list)
                {
                    //string str2 = item.Replace("/", "");
                    var ptdata = db.PowerTreesContext.FirstOrDefault(s => s.mc == item);
                    towertrees.Add(ptdata);
                }

                //foreach (var item in list)
                //{
                //    //TODO 获取权限最上级
                //    var ptdata = db.PowerTreesContext.FirstOrDefault(s => s.mc == item);
                //    if (towertrees.Any(s => s.mc == item))
                //    {

                //    }
                //    else
                //    {

                //    }
                //}
                foreach (var item in kezw.PowerTrees.ToList())
                {
                    kezw.PowerTrees.Remove(item);
                }
                kezw.PowerTrees = towertrees;
                //ks.keshizhiwus.SingleOrDefault(s => s.zhiwu.zwid == zwid).PowerTrees = towertrees;
                db.SaveChanges();
            }
        }

        public void DelKeShiZhiWu(int ksid, int zwid)
        {
            using (var db = new UserInfoClassContext())
            {
                var ks = db.KeShiContext.SingleOrDefault(s => s.ksid == ksid);
                var zw = db.ZhiWeiContext.SingleOrDefault(s => s.zwid == zwid);
                var jzg = db.JiaoZhiGongInfoContext.ToList();
                var keshizhiwu =
                    db.KeShiZhiWuContext.SingleOrDefault(s => s.zhiwu.zwid == zwid && ksid == s.KeShi.ksid);
                //var keshizhiwu = ks.keshizhiwus.SingleOrDefault(s => s.zhiwu.zwid == zwid);
                ks.keshizhiwus.Remove(keshizhiwu);
                zw.keshizhiwus.Remove(keshizhiwu);
                foreach (var item in keshizhiwu.JiaoZhiGongInfos.ToList())
                {
                    keshizhiwu.JiaoZhiGongInfos.Remove(item);
                }

                foreach (var item in keshizhiwu.PowerTrees.ToList())
                {
                    keshizhiwu.PowerTrees.Remove(item);
                }
                db.Entry(keshizhiwu).State = EntityState.Deleted;

                db.SaveChanges();
            }
        }

        public List<Domain_MoBan_Main> GetZhiWuKaoHeBiao(int ksid, int zwid)
        {
            var model = ConcreteFactory.GetKeShiZhiWu().GetModel(ksid, zwid);
            var lst = new List<Domain_MoBan_Main>();
            foreach (var item in model.MoBan_Main)
            {
                Domain_MoBan_Main d = new Domain_MoBan_Main();
                d.mbid = item.mbid;
                d.mbmc = item.mbmc;
                lst.Add(d);
            }

            return lst;
        }
    }
}
